package com.itlong.cloud.equip.operate;

import com.itlong.cloud.POJO.DTO.operate.OperateSaveSipClusterDTO;
import com.itlong.cloud.POJO.DTO.operate.OperateSipClusterPageDTO;
import com.itlong.cloud.POJO.VO.operate.OperateSipClusterVO;
import com.itlong.cloud.utils.page.Page;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

/**
 * <desc>
 *      运营-运营管理-SIP集群管理服务接口暴露。
 * <desc/>
 *
 * @createDate 2017/9/30.
 */
@FeignClient(name = "equip-service")
public interface IOperateSipClusterServiceClient {

     /**
      * <desc>
      *      保存SIP服务器信息。
      * <desc/>
      *
      * @param saveDTO SIP数据传输参数
      * @return 返回影响行数
      * @author shengen.T
      * @createDate 2017/9/30
      */
    @RequestMapping(path="/operate/marketer/sipCluster/saveSipInfo",method = RequestMethod.POST)
    Integer saveSipInfo(@RequestBody OperateSaveSipClusterDTO saveDTO) throws Exception;

     /**
      * <desc>
      *      修改SIP服务器信息。
      * <desc/>
      *
      * @param saveDTO  SIP数据传输参数
      * @return 返回影响行数
      * @author shengen.T
      * @createDate 2017/9/30
      */
    @RequestMapping(path = "/operate/marketer/sipCluster/updateSipInfo" , method = RequestMethod.POST)
    Integer updateSipInfo(@RequestBody OperateSaveSipClusterDTO saveDTO) throws Exception;

     /**
      * <desc>
      *      设置SIP使用状态：启用/禁用。
      * <desc/>
      *
      * @param  sipId SIP服务器ID
      * @param  status 状态
      * @return
      * @author shengen.T
      * @createDate 2017/9/30
      */
     /*  启用禁用暂时不需要
    @RequestMapping(path = "/operate/marketer/sipCluster/setSipStatus/{sipId}/{status}" ,method = RequestMethod.GET)
    Integer setSipStatus(@PathVariable("sipId")String sipId,@PathVariable("status") Integer status) throws Exception;
    */

     /**
      * <desc>
      *      获取单个SIP服务器详细信息。
      * <desc/>
      *
      * @param  sipId
      * @return  返回SIP服务器数据对象
      * @author shengen.T
      * @createDate 2017/9/30
      */
    @RequestMapping(path = "/operate/marketer/sipCluster/getSipInfo/{sipId}" ,method = RequestMethod.GET)
    OperateSipClusterVO getSipInfo(@PathVariable("sipId")String sipId) throws Exception;

     /**
      * <desc>
      *      获取SIP分页数据集数据。
      * <desc/>
      *
      * @param  pageDTO 参数请求对象
      * @return 
      * @author shengen.T
      * @createDate 2017/9/30
      */
    @RequestMapping(path = "/operate/marketer/sipCluster/getSipInfoPage" ,method = RequestMethod.POST)
    Page<OperateSipClusterVO> getSipInfoPage(@RequestBody OperateSipClusterPageDTO pageDTO) throws Exception;

}
